Rationale
---------

In LogicalDesktop, by creating a layer of verbs above the programs, I
was actually creating another language, just like the underlying CLI
language. Well, almost like it. In fact, the language used by
LogicalDesktop had one important thing more: it was self-teaching.

So why did I remove the verbs and get back to the underlying language
made of programs? 1. It is too expensive for LogicalDesktop to wrap
all the functionalities of all programs, so power users will
eventually have to know the layer below; 2. it is too expensive to
keep LogicalDesktop updated, with all the options of all the programs.

So, we don't want to hide the CLI anymore. What can we improve over
the current text shells?

Scenario
--------

I don't want to have to type a command line (and in general a string)
more than once. Later on, I want to use the mouse to select the
command (or the string) from a list. Furthermore, the time needed to
find the right command (string) must be proportional to the time
passed since I last used it.


Solution: the lists must be sorted by recent usage (not frequent, not
name).

Scenario 
--------

In debian, I want to run update-alternatives to change the login
manager, but I don't remember the option --config and the argument,
x-login-manager.  (a) I don't want to type "man update-alternatives";
(b) I don't want to read the man page, because the typing takes too
much and reading the man page too.

possible solutions:

1. provide a graphical way to read the man page. This is not enough,
   because it only solves (a). However, it will be possible.

2. When you click "update-alternatives" the program must show me the
   latest options and arguments used with it, ordered by usage
   time. You can also click them. This is the right way to solve (a)
   and (b).

scenario
--------

I don't want to have type the name of a local file (ever).

Solution: a file browser must be included.


scenario
--------

A newbie user is scared about the fact that he has to type, and does
not understand he has to type only once.

Solution: include the most common options for most apps, so he does
not have to type them the first time either. Note: the user still has
to know the syntax.


